using System;
using System.Collections.Generic;
using System.Text;

namespace Microsoft.ConnectionEngine.Registers.Core.ServiceProvider.Common
{
	/// <summary>
	/// Represents a Connection Engine Message Status
	/// </summary>
    public class MessageStatus
	{
		private int messageStatusID;

		/// <summary>
		/// Represents the unique identifier of a message status element.
		/// </summary>
        public int MessageStatusID
		{
			get { return messageStatusID; }
			set { messageStatusID = value; }
		}

		private string displayName;

		/// <summary>
		/// A string representing the description of the message status.
		/// </summary>
        public string DisplayName
		{
			get { return displayName; }
			set { displayName = value; }
		}

		private string canBeSetBy;

		/// <summary>
		/// A string representing which type of Connected Systems can set this status within a message.
        /// <remarks>This property is not used on the current version of the Connection Engine.</remarks>
		/// </summary>
        public string CanBeSetBy
		{
			get { return canBeSetBy; }
			set { canBeSetBy = value; }
		}

		/// <summary>
		/// Instantiates a new Message Status object.
		/// </summary>
        public MessageStatus() { }

		/// <summary>
        /// Instantiates a new Message Status object based on the arguments passed as parameters.
        /// </summary>
        /// <param name="messageStatusID">Represents the unique identifier of a message status element.</param>
        /// <param name="displayName">A string representing the description of the message status.</param>
        /// <param name="canBeSetBy">A string representing which type of Connected Systems can set this status within a message.</param>
        public MessageStatus(int messageStatusID, string displayName, string canBeSetBy) 
		{
			this.messageStatusID = messageStatusID;
			this.displayName = displayName;
			this.canBeSetBy = canBeSetBy;
		}
	
	
	}
}
